Skip to content

(Checking how ASV benchmarks look without any code changes) - #1710

Draft
Sevans711 wants to merge 3 commits into
mainfrom
sevans/asv-benchmarks-baseline
Draft

(Checking how ASV benchmarks look without any code changes)#1710
Sevans711 wants to merge 3 commits into
mainfrom
sevans/asv-benchmarks-baseline

Conversation

@Sevans711

Copy link
Copy Markdown
Collaborator

Not intended to be merged to main, just trying to check how ASV benchmarks look currently when the code is unchanged.

There's probably a better solution than having a draft PR for this, but this is the simplest/fastest way I could think of right now. I already attempted but struggled to generate ASV benchmark runs on my local machine with the same output format as what the run-benchmark label produces via github CI.

I originally created this with the intention of determining whether the reported benchmark performance degradation in #1705 is actually caused by the code changes there or not. Maybe this should be closed soon after that check, or maybe it should be open for a longer-term basis to repeat checks like this in the future? For example, it might have been useful to have something like this available for initially discovering #1605.

@Sevans711 Sevans711 added the run-benchmark Run ASV benchmark workflow label Aug 26, 2026
@cmdupuis3

Copy link
Copy Markdown
Collaborator

I did this too, actually. But an easier way to get the benchmarks running is to push your branch, then run ASV benchmarks directly in the Actions tab. That way you don't have to mess with a PR to get them running.

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

ASV Benchmarking

Benchmark Comparison Results

Benchmarks that have stayed the same:

Change Before [a1eeb0e] After [375b6da] Ratio Benchmark (Parameter)
5.31±0.05ms 5.38±0.04ms 1.01 bench_connectivity.Connectivity.time_edge_face('120km')
1.71±0.01ms 1.73±0.02ms 1.01 bench_connectivity.Connectivity.time_edge_face('480km')
4.19±0.01ms 4.20±0.03ms 1.00 bench_connectivity.Connectivity.time_edge_node('120km')
1.35±0.02ms 1.37±0.01ms 1.01 bench_connectivity.Connectivity.time_edge_node('480km')
4.30±0.03ms 4.28±0.1ms 0.99 bench_connectivity.Connectivity.time_face_edge('120km')
1.35±0.01ms 1.35±0.01ms 1.00 bench_connectivity.Connectivity.time_face_edge('480km')
6.19±0.02ms 6.22±0.02ms 1.01 bench_connectivity.Connectivity.time_face_face('120km')
2.07±0.01ms 2.11±0.01ms 1.02 bench_connectivity.Connectivity.time_face_face('480km')
60.4±1μs 59.8±1μs 0.99 bench_connectivity.Connectivity.time_face_node('120km')
58.7±1μs 59.3±0.7μs 1.01 bench_connectivity.Connectivity.time_face_node('480km')
448±3μs 433±5μs 0.97 bench_connectivity.Connectivity.time_n_nodes_per_face('120km')
355±4μs 360±10μs 1.02 bench_connectivity.Connectivity.time_n_nodes_per_face('480km')
5.65±0.02ms 5.81±0.1ms 1.03 bench_connectivity.Connectivity.time_node_edge('120km')
1.75±0.01ms 1.74±0.01ms 1.00 bench_connectivity.Connectivity.time_node_edge('480km')
75.0±0.2ms 76.0±0.6ms 1.01 bench_connectivity.Connectivity.time_node_face('120km')
4.70±0.04ms 4.73±0.03ms 1.01 bench_connectivity.Connectivity.time_node_face('480km')
6.59±0.04ms 6.68±0.07ms 1.01 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
2.38±0.09ms 2.42±0.04ms 1.02 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
10.2±10s 8.40±10ms ~0.00 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
1.97±0.01ms 1.96±0.01ms 0.99 face_bounds.FaceBounds.time_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
57.3k 57.3k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
12.3k 12.3k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
123k 123k 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
128 128 1.00 face_bounds.FaceBounds.track_nbytes_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.27M 1.27M 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
50.1k 50.1k 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
1.48M 1.48M 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
712 712 1.00 face_bounds.FaceBounds.track_nbytes_grid_with_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.97M 1.97M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
1.97M 1.97M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
2.14M 2.14M 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
38.3k 38.3k 1.00 face_bounds.FaceBounds.track_peakmem_face_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
336M 336M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/mpas/QU/oQU480.231010.nc'))
368M 366M 0.99 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/scrip/outCSne8/outCSne8.nc'))
338M 338M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/geoflow-small/grid.nc'))
338M 338M 1.00 face_bounds.FaceBoundsColdStartRss.peakmem_open_and_bounds(PosixPath('/home/runner/work/uxarray/uxarray/test/meshfiles/ugrid/quad-hexagon/grid.nc'))
1.26±0.05μs 1.20±0.02μs 0.96 geometry_kernels.AccucrossKernels.time_accucross
2.56±0.02μs 2.56±0.03μs 1.00 geometry_kernels.AccucrossKernels.time_accucross_pair
390±20ns 411±6ns 1.05 geometry_kernels.EFTPrimitives.time_acc_sqrt_re
401±20ns 421±0.4ns 1.05 geometry_kernels.EFTPrimitives.time_diff_of_products
370±20ns 360±5ns 0.97 geometry_kernels.EFTPrimitives.time_two_prod
415±60ns 366±10ns ~0.88 geometry_kernels.EFTPrimitives.time_two_sum
1.38±0.02μs 1.38±0.05μs 1.00 geometry_kernels.GCAConstLatIntersection.time_accux_constlat_kernel
997±20ns 1.02±0.03μs 1.03 geometry_kernels.GCAConstLatIntersection.time_gca_const_lat_intersection
1.76±0.03μs 1.82±0.07μs 1.03 geometry_kernels.GCAConstLatIntersection.time_try_gca_const_lat_intersection
3.35±0.05μs 3.34±0.04μs 1.00 geometry_kernels.GCAGCAIntersection.time_accux_gca_kernel
1.14±0.04μs 1.17±0.06μs 1.03 geometry_kernels.GCAGCAIntersection.time_gca_gca_intersection
3.43±0.03μs 3.40±0.03μs 0.99 geometry_kernels.GCAGCAIntersection.time_try_gca_gca_intersection
37.1±0.2μs 36.1±0.4μs 0.97 geometry_kernels.OrientPredicates.time_on_minor_arc
691±20ns 691±30ns 1.00 geometry_kernels.OrientPredicates.time_orient3d_on_sphere
2.92±0.1ms 2.80±0.01ms 0.96 geometry_samebody.SameBodyConstLat.time_accux_dispatch
1.33±0ms 1.33±0.01ms 1.00 geometry_samebody.SameBodyConstLat.time_accux_kernel
1.82±0ms 1.85±0.05ms 1.02 geometry_samebody.SameBodyConstLat.time_fp64_dispatch
153±1μs 153±4μs 1.00 geometry_samebody.SameBodyConstLat.time_fp64_kernel
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_accux_dispatch
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_accux_kernel
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_dispatch
failed failed n/a geometry_samebody_gcagca.SameBodyGcaGca.time_fp64_kernel
822±3ms 821±3ms 1.00 import.Imports.timeraw_import_uxarray
293M 293M 1.00 import.Imports.track_peakmem_import_uxarray
2.18±0.03ms 2.20±0.01ms 1.01 mpas_ocean.CheckNorm.time_check_norm('120km')
1.77±0.01ms 1.78±0.02ms 1.00 mpas_ocean.CheckNorm.time_check_norm('480km')
1.06±0.01ms 1.06±0.01ms 0.99 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('120km')
537±10μs 544±3μs 1.01 mpas_ocean.ConnectivityConstruction.time_face_face_connectivity('480km')
652±4μs 653±4μs 1.00 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('120km')
578±7μs 578±4μs 1.00 mpas_ocean.ConnectivityConstruction.time_n_nodes_per_face('480km')
5.01±0.04ms 5.02±0.04ms 1.00 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('120km')
3.49±0.03ms 3.45±0.03ms 0.99 mpas_ocean.ConstructFaceLatLon.time_cartesian_averaging('480km')
103±0.7ms 102±0.7ms 0.99 mpas_ocean.ConstructFaceLatLon.time_welzl('120km')
10.2±0.04ms 10.0±0.3ms 0.98 mpas_ocean.ConstructFaceLatLon.time_welzl('480km')
19.7±0.02ms 19.6±0.01ms 1.00 mpas_ocean.ConstructTreeStructures.time_ball_tree('120km')
1.08±0.02ms 1.09±0.01ms 1.01 mpas_ocean.ConstructTreeStructures.time_ball_tree('480km')
10.6±0.01ms 10.6±0.02ms 1.00 mpas_ocean.ConstructTreeStructures.time_kd_tree('120km')
706±6μs 721±10μs 1.02 mpas_ocean.ConstructTreeStructures.time_kd_tree('480km')
513±0.8ms 513±2ms 1.00 mpas_ocean.CrossSections.time_const_lat('120km', 1)
260±0.7ms 260±2ms 1.00 mpas_ocean.CrossSections.time_const_lat('120km', 2)
136±0.7ms 136±0.5ms 1.00 mpas_ocean.CrossSections.time_const_lat('120km', 4)
462±1ms 462±2ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 1)
233±0.6ms 232±1ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 2)
120±0.3ms 120±0.5ms 1.00 mpas_ocean.CrossSections.time_const_lat('480km', 4)
357M 357M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 1)
357M 357M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 2)
357M 357M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('120km', 4)
339M 340M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 1)
340M 340M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 2)
340M 340M 1.00 mpas_ocean.CrossSectionsPeakMem.peakmem_const_lat('480km', 4)
22.4±0.4ms 22.0±0.06ms 0.98 mpas_ocean.DualMesh.time_dual_mesh_construction('120km')
2.55±0.03ms 2.53±0.01ms 0.99 mpas_ocean.DualMesh.time_dual_mesh_construction('480km')
13.6±4ms 13.5±0.1ms 1.00 mpas_ocean.FaceAreas.time_face_areas('120km')
3.68±0.04ms 3.71±0.03ms 1.01 mpas_ocean.FaceAreas.time_face_areas('480km')
229k 229k 1.00 mpas_ocean.FaceAreas.track_nbytes_face_areas('120km')
14.3k 14.3k 1.00 mpas_ocean.FaceAreas.track_nbytes_face_areas('480km')
2.12M 2.12M 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('120km')
743k 743k 1.00 mpas_ocean.FaceAreas.track_peakmem_face_areas('480km')
826±4ms 835±2ms 1.01 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', False)
51.8±0.4ms 50.8±0.6ms 0.98 mpas_ocean.GeoDataFrame.time_to_geodataframe('120km', True)
73.8±2ms 72.3±0.2ms 0.98 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', False)
5.47±0.09ms 5.39±0.05ms 0.99 mpas_ocean.GeoDataFrame.time_to_geodataframe('480km', True)
14.3±0.05ms 14.4±0.06ms 1.00 mpas_ocean.Gradient.time_gradient('120km')
1.99±0.01ms 1.97±0.01ms 0.99 mpas_ocean.Gradient.time_gradient('480km')
457k 457k 1.00 mpas_ocean.Gradient.track_nbytes_gradient('120km')
28.7k 28.7k 1.00 mpas_ocean.Gradient.track_nbytes_gradient('480km')
3.43M 3.43M 1.00 mpas_ocean.Gradient.track_peakmem_gradient('120km')
218k 218k 1.00 mpas_ocean.Gradient.track_peakmem_gradient('480km')
352M 352M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('120km')
332M 331M 1.00 mpas_ocean.GradientColdStartRss.peakmem_gradient('480km')
357±5μs 361±7μs 1.01 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('120km')
193±7μs 188±10μs 0.97 mpas_ocean.HoleEdgeIndices.time_construct_hole_edge_indices('480km')
554±4μs 553±5μs 1.00 mpas_ocean.Integrate.time_integrate('120km')
475±8μs 473±6μs 1.00 mpas_ocean.Integrate.time_integrate('480km')
18.4M 18.4M 1.00 mpas_ocean.Integrate.track_nbytes_integrate('120km')
1.2M 1.2M 1.00 mpas_ocean.Integrate.track_nbytes_integrate('480km')
183±2ms 184±1ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'exclude')
185±2ms 184±4ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'include')
185±2ms 187±2ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('120km', 'split')
13.6±0.03ms 13.7±0.03ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'exclude')
13.8±0.04ms 13.8±0.04ms 1.00 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'include')
13.6±0.09ms 13.8±0.2ms 1.01 mpas_ocean.MatplotlibConversion.time_dataarray_to_polycollection('480km', 'split')
257±1ms 256±0.2ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 1.0)
1.37±0s 1.37±0s 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 15.0)
531±2ms 531±2ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('120km', 5.0)
14.0±0.04ms 14.0±0.03ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 1.0)
26.9±0.03ms 26.8±0.06ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 15.0)
17.3±0.01ms 17.3±0.02ms 1.00 mpas_ocean.NeighborhoodBuild.time_build('480km', 5.0)
252±0.2ms 252±0.5ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 1.0)
1.35±0s 1.35±0s 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 15.0)
526±1ms 528±1ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('120km', 5.0)
13.7±0.03ms 13.6±0.03ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 1.0)
26.2±0.04ms 26.2±0.04ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 15.0)
16.9±0.01ms 17.0±0.02ms 1.00 mpas_ocean.NeighborhoodBuild.time_query_radius('480km', 5.0)
1.19 1.19 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 1.0)
612.76 612.76 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 15.0)
74.17 74.17 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('120km', 5.0)
1.0 1.0 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 1.0)
37.29 37.29 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 15.0)
6.57 6.57 1.00 mpas_ocean.NeighborhoodBuild.track_mean_neighbors('480km', 5.0)
728k 728k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 1.0)
141M 141M 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 15.0)
17.4M 17.4M 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('120km', 5.0)
43k 43k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 1.0)
563k 563k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 15.0)
123k 123k 1.00 mpas_ocean.NeighborhoodBuild.track_nbytes_neighbors('480km', 5.0)
5.72M 5.72M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 1.0)
145M 145M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 15.0)
21.5M 21.5M 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('120km', 5.0)
362k 362k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 1.0)
824k 824k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 15.0)
384k 384k 1.00 mpas_ocean.NeighborhoodBuild.track_peakmem_build('480km', 5.0)
47.4±0.5ms 46.8±0.3ms 0.99 mpas_ocean.NeighborhoodDask.time_mean('120km', 'grid_chunks')
24.9±0.04ms 24.9±0.04ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('120km', 'numpy')
44.8±0.9ms 44.0±0.9ms 0.98 mpas_ocean.NeighborhoodDask.time_mean('120km', 'time_chunks')
10.8±0.09ms 10.8±0.1ms 1.00 mpas_ocean.NeighborhoodDask.time_mean('480km', 'grid_chunks')
541±9μs 554±9μs 1.03 mpas_ocean.NeighborhoodDask.time_mean('480km', 'numpy')
7.83±0.2ms 7.68±0.06ms 0.98 mpas_ocean.NeighborhoodDask.time_mean('480km', 'time_chunks')
5.84M 5.76M 0.99 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'grid_chunks')
2.75M 2.75M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'numpy')
5.68M 5.68M 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('120km', 'time_chunks')
702k 680k 0.97 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'grid_chunks')
177k 177k 1.00 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'numpy')
538k 535k 0.99 mpas_ocean.NeighborhoodDask.track_peakmem_mean('480km', 'time_chunks')
13.3±0s 13.3±0.01s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'mean')
14.0±0s 14.1±0.04s 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('120km', 'median')
243±0.3ms 243±0.07ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'mean')
250±0.1ms 250±0.2ms 1.00 mpas_ocean.NeighborhoodReduce.time_dataset_reduce('480km', 'median')
1.42±0.01s 1.41±0s 0.99 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'mean')
1.63±0s 1.62±0s 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('120km', 'median')
27.4±0.05ms 27.3±0.02ms 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'mean')
28.8±0.02ms 28.8±0.02ms 1.00 mpas_ocean.NeighborhoodReduce.time_neighborhood_reduce('480km', 'median')
44.8±0.03ms 44.8±0.01ms 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'mean')
259±0.2ms 259±0.2ms 1.00 mpas_ocean.NeighborhoodReduce.time_reduce('120km', 'median')
604±9μs 601±10μs 0.99 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'mean')
2.09±0.01ms 2.10±0.01ms 1.01 mpas_ocean.NeighborhoodReduce.time_reduce('480km', 'median')
239k 239k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('120km', 'mean')
245k 245k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('120km', 'median')
19.4k 19.4k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'mean')
19.9k 19.9k 1.00 mpas_ocean.NeighborhoodReduce.track_peakmem_reduce('480km', 'median')
359±10μs 353±20μs 0.98 mpas_ocean.PointInPolygon.time_face_search_lonlat('120km')
334±6μs 348±6μs 1.04 mpas_ocean.PointInPolygon.time_face_search_lonlat('480km')
330±9μs 317±2μs 0.96 mpas_ocean.PointInPolygon.time_face_search_xyz('120km')
311±6μs 310±2μs 0.99 mpas_ocean.PointInPolygon.time_face_search_xyz('480km')
200±0.1ms 204±1ms 1.02 mpas_ocean.RemapDownsample.time_bilinear_remapping
229±3ms 228±0.9ms 1.00 mpas_ocean.RemapDownsample.time_inverse_distance_weighted_remapping
15.4±0.05ms 15.4±0.05ms 1.00 mpas_ocean.RemapDownsample.time_nearest_neighbor_remapping
1.11±0s 1.11±0s 0.99 mpas_ocean.RemapUpsample.time_bilinear_remapping
35.8±0.2ms 36.0±0.2ms 1.01 mpas_ocean.RemapUpsample.time_inverse_distance_weighted_remapping
11.1±0.2ms 11.0±0.2ms 0.99 mpas_ocean.RemapUpsample.time_nearest_neighbor_remapping
9.24±0.09ms 9.33±0.1ms 1.01 mpas_ocean.ZonalAverage.time_zonal_average('120km')
4.88±0.02ms 4.85±0.04ms 0.99 mpas_ocean.ZonalAverage.time_zonal_average('480km')
358M 358M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('120km')
342M 341M 1.00 mpas_ocean.ZonalAveragePeakMem.peakmem_zonal_average('480km')
6.24±0.02ms 6.19±0.01ms 0.99 quad_hexagon.QuadHexagon.time_open_dataset
5.18±0.03ms 5.27±0.04ms 1.02 quad_hexagon.QuadHexagon.time_open_grid
408 408 1.00 quad_hexagon.QuadHexagon.track_nbytes_open_dataset
392 392 1.00 quad_hexagon.QuadHexagon.track_nbytes_open_grid
73.8k 73.8k 1.00 quad_hexagon.QuadHexagon.track_peakmem_open_dataset
73k 73k 1.00 quad_hexagon.QuadHexagon.track_peakmem_open_grid

@Sevans711

Copy link
Copy Markdown
Collaborator Author

I did this too, actually. But an easier way to get the benchmarks running is to push your branch, then run ASV benchmarks directly in the Actions tab. That way you don't have to mess with a PR to get them running.

Ah, that makes sense! Does that lead to a nice comment with the benchmark results too? I suppose even if there isn't a comment it's definitely less noisy than making a draft PR

@cmdupuis3

Copy link
Copy Markdown
Collaborator

Nah, you'd have to dig. I've been mostly looking at total time though, so for me it doesn't matter.

@dylannelson

Copy link
Copy Markdown
Member

Leaving a note here in case it gets solved and disappears in the above benchmark run, we have been seeing a *1000 or so speedup on a test even when nothing changes, it appears as "no change". Very odd:

image

This appears in this PR and others as well (at the time of writing).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-benchmark Run ASV benchmark workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants